package org.hot100_1;

public class leetcode7 {
    //hard 42
    public int trap(int[] height) {

        int sum = 0;

        int n = height.length;
        //第一个柱子和最后一个柱子接不了雨水
        for (int i = 1; i <n-1; i++) {
            int max_left = 0;
            int max_right = 0;

            //找到当前节点的左侧的最大值，作为左边界
            for (int j = 0; j < i; j++) {
                if (height[j]>max_left){
                    max_left=height[j];
                }
            }

            //找到当前节点的右侧的最大值，作为右边界
            for (int j = i+1; j < n; j++) {
                if (height[j]>max_right){
                    max_right=height[j];
                }
            }

            int min = Math.min(max_left,max_right);

            //只有两者中的最小值大于当前节点，才会接住雨水。雨水的面积是较小值与当前的值的差值
            if (min>height[i]){
                sum=sum+(min-height[i]);
            }
        }

        return sum;
    }
}
